// We override SwitcherList's _onItemEnter method to delay
// activation when the thumbnail list is open
- _onItemEnter(index) {
+ _onItemEnter(item) {
+ const index = this._items.indexOf(item);
+
if (this._mouseTimeOutId != 0)
GLib.source_remove(this._mouseTimeOutId);
if (this._altTabPopup.thumbnailsVisible) {
bbox.set_child(item);
this._list.add_actor(bbox);
- let n = this._items.length;
- bbox.connect('clicked', () => this._onItemClicked(n));
- bbox.connect('motion-event', () => this._onItemEnter(n));
+ bbox.connect('clicked', () => this._onItemClicked(bbox));
+ bbox.connect('motion-event', () => this._onItemEnter(bbox));
bbox.label_actor = label;
this._items[index].remove_accessible_state(state);
}
- _onItemClicked(index) {
- this._itemActivated(index);
+ _onItemClicked(item) {
+ this._itemActivated(this._items.indexOf(item));
}
- _onItemEnter(index) {
+ _onItemEnter(item) {
// Avoid reentrancy
- if (index !== this._highlighted)
- this._itemEntered(index);
+ if (item !== this._items[this._highlighted])
+ this._itemEntered(this._items.indexOf(item));
return Clutter.EVENT_PROPAGATE;
}